#ifndef _STDARG_H
#define _STDARG_H

typedef char *va_list;

#define _bnd(x, bnd)		((sizeof(x) + (bnd)) & (~(bnd)))
#define va_start(ap,v)		(void)((ap) = ((va_list)&(v)) + _bnd(v, (sizeof(int) - 1)))
#define va_end(ap)			(void)((ap) = (va_list)0)
#define va_arg(ap, t)		(*(t *)(((ap) += _bnd(t, (sizeof(int) - 1))) - _bnd(t, (sizeof(int) - 1))))

#endif /* _STDARG_H */

